Methods, implantable medical devices, and systems to continue implementing a special mode of operation after experiencing a device reset

ABSTRACT

An implantable medical device implements a special mode of operation, such as a mode of electrical stimulation therapy, during conditions where there may be an increased likelihood that a device reset will occur. The implantable medical device recovers from the device reset by copying values that specify the special mode and that are stored in a non-volatile memory to an operating memory. The special mode is implemented after the device reset has occurred by using the values copied to the operating memory. One version of the special mode is an MRI mode that allows the implantable medical device to safely operate during an MRI scan. The fields of the MRI scan may trigger a device reset, but the MRI mode values are copied from the non-volatile memory to the operating memory, and the MRI mode is implemented after the reset by using the values copied to the operating memory.

RELATED APPLICATIONS

This application is a divisional of U.S. patent application Ser. No.14/168,938, filed Jan. 30, 2014 (now allowed and granting as U.S. Pat.No. 9,724,520), the content of which is incorporated by reference hereinits entirety.

TECHNICAL FIELD

Embodiments relate to implantable medical devices that implement aspecial mode of stimulation while in the presence of a condition thatmay increase the likelihood of triggering a device reset. Moreparticularly, embodiments relate to implantable medical devices thatrecover from a device reset by continuing to implement the special mode.

BACKGROUND

Implantable medical devices that provide therapy such as electricalstimulation or drug delivery, are programmed to utilize a special modejust prior to the patient having the implantable medical deviceundergoing a particular procedure such as a magnetic resonance imaging(MRI) scan. In the case of an MRI, the special mode, referred to hereinas an MRI mode, for an implantable medical device that providesstimulation therapy may alter the normal stimulation by utilizing anasynchronous form of pacing that avoids triggering or inhibiting pacingas a function of sensing. The MRI mode avoids the various fields of theMRI machine, including static and time varying magnetic fields as wellas radio frequency electromagnetic waves, from causing false sensing ofintrinsic signals like intrinsic heartbeats which can lead to improperpacing. As another example, MRI mode in a drug delivery device maybetter protect the on-board supplies. Furthermore, MRI mode maydisconnect a telemetry antenna for some implantable medical devices.

One issue in particular may occur during an MRI scan while theimplantable medical device operates in the MRI mode. The fields of theMRI scan may trigger the implantable medical device to experience adevice reset, also known as a power on reset. The device reset mayimpact the operation of the implantable medical device to varyingdegrees depending upon the severity of the reset. In some cases, thereset may not impact the continued operation of the implantable medicaldevice in the MRI mode because the volatile memory where the programmingis stored is not erased. However, in cases where the device reset doeserase the programming from the volatile memory, the implantable medicaldevice defaults to a non-MRI mode which is intended for device recoveryin non-MRI contexts. This non-MRI mode that is recovered is typicallyless optimized for operation in the MRI context. This is especially truefor implantable cardiac defibrillators that often recover in a non-MRImode that does not perform pacing and has tachyarrhythmia detection andtherapies enabled. As a result, the patient and/or the implantablemedical device may be at a greater risk after the device reset.

SUMMARY

Embodiments address issues such as these and others by providing animplantable medical device that stores programming related to a specialmode of operation, such as an MRI mode, in non-volatile memory. Thespecial mode is implemented from an operating memory that may bevolatile, but if a device reset erases or otherwise corrupts theprogramming from the operating memory, the implantable medical devicerecovers by loading the special mode programming from the non-volatilememory to the operating memory. The implantable medical device thencontinues operating in the special mode.

Embodiments provide a method of operating an implantable medical deviceduring a condition that may trigger a device reset. The method involvesreceiving mode programming at the device that defines a special mode ofoperation to utilize during the condition and receiving parameterprogramming that specifies therapy parameters to utilize for the specialmode of operation. The method further involves storing the modeprogramming and the parameter programming in a non-volatile memory andstoring a value in the non-volatile memory indicating whether thespecial mode is active. Upon experiencing a device reset, the methodfurther involves reading the value that indicates whether the specialmode is active and loading the mode programming and parameterprogramming from the non-volatile memory to an operating memory. Inresponse to reading the value when the value indicates that the specialmode is active, the method involves implementing the special modedefined by the mode programming from the operating memory.

Embodiments provide an implantable medical device that operates during acondition that may cause a device reset. The implantable medical deviceincludes a therapy circuit that provides a medical therapy, an operatingmemory, a non-volatile memory, and a telemetry communication circuit.The implantable medical device further includes a processing device incommunication with the therapy circuit, the operating memory, thenon-volatile memory, and the telemetry communication circuit. Theprocessing device is configured to receive mode programming at thedevice that defines a special mode of operation to utilize during thecondition and receiving parameter programming that specifies therapyparameters to utilize for the special mode of operation. The processingdevice is further configured to store the mode programming and theparameter programming in a non-volatile memory and store a value in thenon-volatile memory indicating whether the special mode is active. Uponexperiencing a device reset, the processing device reads the value thatindicates whether the special mode is active, and the processing deviceloads the mode programming and parameter programming from thenon-volatile memory to an operating memory. In response to reading thevalue when the value indicates that the special mode is active, theprocessing device implements the special mode defined by the modeprogramming from the operating memory by controlling operation of thetherapy circuit.

Embodiments provide an implantable medical system that operates during acondition that may cause a device reset. The implantable medical deviceincludes an implantable medical lead having a proximal contact and adistal electrode and an implantable medical device. The implantablemedical device includes a pulse generator, an electrical connector thatis electrically coupled to the pulse generator, the proximal contactbeing electrically coupled to the electrical connector, an operatingmemory, a non-volatile memory, and a telemetry communication circuit.The implantable medical device further includes a processing device incommunication with the pulse generator, the operating memory, thenon-volatile memory, and the telemetry communication circuit. Theprocessing device is configured as discussed above in relation to theimplantable medical device embodiments.

Embodiments provide a method of operating an implantable medical deviceduring a condition that may cause a device reset. The method involvesreceiving programming at the device that relates to a special mode ofoperation to utilize during the condition and storing the programming ina non-volatile memory. The method further involves storing a value inthe non-volatile memory indicating whether the special mode is activeand upon experiencing a device reset that terminates a mode of operationoccurring prior to the device reset, reading the value that indicateswhether the special mode is active and loading the programming from thenon-volatile memory to an operating memory. Additionally, in response toreading the value when the value indicates that the special mode isactive, the method involves implementing the special mode from theoperating memory prior to implementing any other stimulation mode oncethe device reset has occurred.

Embodiments provide a method of operating an implantable medical deviceduring a condition that may trigger a device reset. The method involvesreceiving programming at the device that relates to a special mode ofoperation to utilize during the condition. The method further involvesstoring the programming in a non-volatile memory and storing a value inthe non-volatile memory indicating whether the special mode is active.The method also involves implementing the special mode from theoperating memory prior to a device reset and upon experiencing thedevice reset, detecting prior to loading the mode programming whetherthe operating memory contains programming of a mode. When it is detectedthat the operating memory does not contain the programming of the modethen reading the value from the non-volatile memory that indicateswhether the special mode is active and when the value indicates that thespecial mode is active, the method involves loading the programming fromthe non-volatile memory to an operating memory and implementing thespecial mode from the operating memory. When it is detected that theoperating memory does contain the programming of the mode, then themethod involves not loading the programming from the non-volatile memory

Embodiments provide a method of operating an implantable medical deviceduring a condition that may trigger a device reset. The method involvesreceiving programming in an operating memory at the device that relatesto a special mode of operation to utilize during the condition. Theprogramming includes a value that indicates whether the special mode isactive and the method further involves copying the programming from theoperating memory to a non-volatile memory and implementing the specialmode from the operating memory prior to a device reset when the valueindicates that the special mode is active. Upon experiencing the devicereset, the method involves reading the value that indicates whether thespecial mode is active. Additionally, the method involves copying theprogramming from the non-volatile memory to the operating memory andwhen the value indicates that the special mode is active, implementingthe special mode from the programming in the operating memory. Upontermination of the special mode, the method involves changing the valuein the operating memory that indicates whether the special mode isactive to indicate that the special mode is not active and afterchanging the value, copying the programming that includes the value fromthe operating memory to the non-volatile memory.

DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an example of an implantable medical system that implementsembodiments to recover from a device reset.

FIG. 2 shows an example of a collection of components of an implantablemedical device of the system.

FIG. 3 shows an example of a non-volatile memory and an operating memoryof the implantable medical device.

FIGS. 4A and 4B show an example of logical operations performed by theprocessor when an MRI mode of operation is inactive.

FIG. 5A shows an example of logical operations performed by theprocessor when the MRI mode of operation is active.

FIG. 5B shows an alternative set of logical operations performed by theprocessor when the MRI mode of operation is active.

DETAILED DESCRIPTION

Embodiments provide implantable medical systems, devices, and relatedmethods to allow recovery from a device reset while a situationrequiring a special mode of operation is present. For instance,embodiments allow for a recovery of a special mode of operation while animplantable medical device (IMD) is in the presence of a condition thatmay trigger device resets. Information related to the special mode ofoperation is stored in a non-volatile memory. Upon a device resetoccurring while the IMD is operating in the special mode, theinformation related to the special mode of operation may be copied fromthe non-volatile memory to an operating memory. The information is thenaccessed by a processing device from the operating memory to implementthe special mode.

FIG. 1 shows an implantable medical system 100 that may implement aspecial mode of stimulation when in the presence of a condition that maycause a device reset such as being in close proximity to an MRI machine,a CT machine, a cautery machine, and the like. The implantable medicalsystem 100 may recover from a device reset that occurs while in thespecial mode by loading special mode values from a non-volatile memoryin order to continue providing stimulation therapy in the special mode.Implantable medical system 100 may, for example, represent a pacemakersystem, defibrillator system, cardioverter-defibrillator system, cardiacresynchronization system, cardiac loop recorder, or other implantablecardiac system that provides a combination of such therapies or othertherapies. Alternatively, implantable medical system 100 may be anon-cardiac system, such as a neurostimulator that may deliver therapy(e.g., electrical signals or drugs) to a spinal cord, brain, pelvicfloor or the like, to alleviate pain or treat symptoms of any of anumber of neurological or other diseases, or other drug delivery system,such as a diabetes insulin pump.

The remainder of the description refers to the implantable medicalsystem as including an implantable medical device that performselectrical stimulation as the form of medical therapy. However, it is tobe appreciated that the details of utilizing the non-volatile memory torecover a special mode of operation when a device reset occurs alsoapplies to other implantable medical devices such as drug pumps thatalso implement a special mode of operation and therapy parametersconfigured for the special mode of operation when necessary.

The remainder of the description also refers to an MRI mode as thespecial mode, where the context is the implantable medical system 100being in close proximity to an MRI machine. However, it is to beappreciated that the same description also applies to other specialmodes that may be implemented whenever the implantable medical system100 is positioned in the presence of a condition that may trigger deviceresets.

The implantable medical system 100 of this example includes animplantable medical device 102 that includes circuitry 108 that producesstimulation signals. The circuitry 108 is electrically coupled toelectrical connectors 112 of the device 102 that create an electricalconnection to proximal contacts 110 on a proximal end of an implantablemedical lead 104. The lead 104 includes conductors that carry electricalsignals to electrodes 106 located on the distal end of the lead 104. Theelectrodes 106 interface with the tissue of the body to deliver theelectrical signals into the tissue at a target site such as within aparticular chamber of the heart.

The implantable medical device 102 includes various components withinthe circuitry 108. An example of these components is shown in FIG. 2.The device 102 includes a processing device 202 such as a generalpurpose field programmable processor, an application specific fieldprogrammable processor, or other type of processing unit that can beprogrammed and re-programmed while the IMD 102 is implanted. Theprocessing device 202 communicates with other components over one ormore data buses.

The processing device 202 communicates with an operating memory 204 thatmay be a volatile form of memory such as a random access memory (RAM) inorder to perform various programmable functions. The processing device202 may rely on the operating memory 204 to provide the programmingvalues for the operating mode, specifically for the stimulation mode foran IMD 102 that provides electrical stimulation, and the mode parametersto the processing device 202 when the processing device 202 attempts toimplement the stimulation therapy. The processor 202 implements thestimulation therapy by controlling the operation of a pulse generatorcircuit 214 that outputs stimulation pulses to the electrical connector112 of FIG. 1.

The processing device 202 in this example communicates with other formsof memory as well, including a flash memory 206 which may be programmedwith default values for stimulation therapy mode and mode parameters. Ifthe programmable values stored in the operating memory 204 are lost orotherwise corrupted, the processing device 202 may use the defaultvalues from the flash 206 in order to continue operation until theprogrammable values can be reprogrammed into the operating memory 204 ata later time.

The processing device 202 in this example communicates with a read onlymemory (ROM) 212 in order to bootup and begin basic operations forinput/output and for communicating with the various other memorycomponents. Upon the processing device 202 implementing stimulationtherapy from the operating memory 204, should both the operating memory204 and the flash memory 206 become corrupted, the processing device 202may rely on default values in the ROM 212 to continue the most basicoperations such as providing an explant alert communication to anexternal programming device via a telemetry circuit 208.

The processor 202 may utilize the telemetry circuit 208 forcommunication with the external programming device for other purposesincluding receiving initial programmable values that are stored into theoperating memory 204 where they can be accessed by the processor 202 forimplementation. The telemetry circuit 208 may be of various forms suchas a near field communication circuit, a far field communication circuitthat utilizes a MICS band, or a combination of the two.

One situation in particular where the telemetry 208 is used by theprocessor 202 occurs when the IMD 102 will be positioned in the presenceof an MRI machine. An external programming device communicates with theIMD 102 through the telemetry circuit 208 in order to set an MRI modestate value to active and to program MRI mode values and MRI modeparameter value into the operating memory 204. This places the IMD 102into the MRI mode where the IMD 102 provides a different mode ofstimulation therapy than when a normal (i.e., non-MRI) mode ofstimulation is active. In some embodiments, the IMD 102 may enter MRImode in other ways, such as by including a magnetic field detector thatdetects the magnetic field of the MRI machine and provides a signal tothe processor 202 which causes the processor 202 to implement the MRImode which may already be programmed into the operating memory 202and/or the non-volatile memory 210.

The external programmer may communicate with the IMD 102 through thetelemetry circuit 208 to set the MRI mode state to inactive whenappropriate or the MRI mode state may be set to inactive in other waysincluding expiration of a set amount of time.

The IMD 102 also includes a non-volatile memory 210 which may be ofvarious forms including electronically erasable-programmable read onlymemory (EEPROM), Magnetoresistive random access memory (M-RAM), andferroelectric random access memory (F-RAM), and the like. The processingdevice 202 utilizes the non-volatile memory 210 in order to recover thestate of the MRI mode, the values for the MRI mode, and the parametervalues to be used with the MRI mode when recovering from a device reset.

While the example of the IMD 102 has been described as having severaldifferent memory components including the operating memory 204, theFlash 206, the non-volatile memory 210, and the ROM 212, it will beappreciated that other configurations are also applicable. For instance,fewer components may be applicable where all defaults are present in aROM and the Flash is eliminated. As another example, some of thesecomponents may be combined into a single memory component rather thanexisting separately.

FIG. 3 illustrates the relationship between the non-volatile memory 210and the operating memory 204. The operating memory 204 and thenon-volatile memory 210 may maintain various tables of information. Inthe operating memory 204, the processor 202 may store a table 314 ofbasic input/output parameters that are initially loaded from the ROM212, flash 206, or from a table 304 within the non-volatile memory 210during bootup of the device 102.

The processor 202 loads default programming into the operating memory204 but a normal mode set of values are specified at location 324 of atable 316 in the operating memory 204 once a programming session with anexternal programmer is complete. The programming specifies the variousmode parameter values that are stored at a location 326. Upon anexternal device programming the IMD 102 to enter the MRI mode, theprocessor 202 stores a table 312 to the operating memory 204 where thetable 312 has a location 318 that stores the value indicating the MRImode state, a location 320 that provides the MRI mode values, and alocation 322 that provides the MRI mode parameter values. The processor202 copies the contents of the table 312 to the table 302 within thenon-volatile memory 210 so that this MRI mode information of the table302 may be copied back to the operating memory 204 once a device resetoccurs while MRI mode state is active.

The MRI mode values stored at locations 308 and 320 specify the mode ofstimulation, including which channels corresponding to a particularregion of the heart are to provide stimulation, that sensing ofintrinsic beats is off and therefore that the stimulation is to beasynchronous to the intrinsic beats. The MRI mode parameter valuesstored at locations 310 and 322 specify values for variables includingthe pulse amplitude for each channel that is active, the pulse width foreach channel that is active, the pulse interval for each channel that isactive, and so forth.

While the normal mode values are not being stored to the non-volatilememory 210 in this example, in other examples that may be done as well.In such a case, the IMD 102 can recover to the normal mode when a devicereset occurs during normal mode stimulation when the MRI mode state isset to inactive. It may be desirable to only store the MRI mode or otherspecial mode parameters to the non-volatile memory 210 in someembodiments in order to minimize the number of read/writes from thenon-volatile memory 210 to thereby preserve the operating life of thenon-volatile memory 210.

FIGS. 4A, 4B, and 5A show sets of logical operations that may beperformed by the processor 202. Specifically, FIGS. 4A and 4B show a setof operations 400 performed while the MRI mode state is inactive whileFIG. 5A shows a set of operations 500 performed while the MRI mode stateis active. FIG. 5B shows an alternate portion of the operations 501performed while the MRI mode state is active.

The set of operations 400 begin at an operation 402 where default valuesare stored in the various memory components which in this exampleinclude the ROM 212, flash 206, non-volatile memory 210, and operatingmemory 204 to prepare the IMD 102 to function. As stated above, theparticular configuration of memory components are provided as an exampleand other configurations are also applicable. The IMD 102 then operatesby the processor 202 using the default values from the operating memory204 including the MRI mode state being inactive at operation 404 untilother programmable values that define the normal mode of stimulation arereceived via telemetry and stored into the operation memory 204 at theevent 406. The IMD 102 then begins the normal mode of operation by theprocessor 202 accessing the normal mode values from the operating memory204 including reading the MRI mode state value of inactive at anoperation 408.

At any time during the normal mode of operation, a device reset mayoccur at event 412. The dashed lines leading to the event 412 illustratethat the device reset event 412 may occur during any of the preceding orsubsequent operations. The device reset may be triggered by ambientconditions other than the IMD 102 being in proximity to an MRI machineand in such cases the IMD 102 is operating in the normal mode ratherthan the MRI mode when the device reset occurs. If the number of deviceresets for a given period of time has not reached a threshold, thenimmediately after the device reset the processor 202 detects whether thenon-volatile memory 210 is corrupt at a query 414. This may be done byperforming a cyclic redundancy check on the contents of the non-volatilememory 210.

When the non-volatile memory 210 is not corrupted, the processor 202then copies programmable values stored in the non-volatile memory 210 tothe operating memory 204 including the value indicating that the MRImode state is inactive at an operation 416. In one example, the normalmode values that were programmed to the operating memory at the event406 have not been copied to the non-volatile memory 210 as shown in FIG.3. Therefore, the programmable values from the non-volatile memory 210in this example are the values for the more basic functionality of theIMD 102. For the values in the operating memory 204 that establish thenormal mode and that have not been copied to the non-volatile memory210, the processor 202 detects whether those values in the operatingmemory 204 are corrupt at a query 418.

Where the values in the operating memory 204 that define the normal modeare not corrupt, those values are retained in the operating memory 204at an operation 422. At this point, the operating memory 204 has allvalues necessary for returning to the normal mode of stimulation at theoperation 408.

Where the values in the operating memory 204 that define the normal modeare corrupt, the processor 202 then replaces those values with defaultvalues. In this example, the processor 202 first attempts to copy thosevalues from the flash memory 206 at operation 420. Where that issuccessful, the IMD 102 then proceeds to operate in the default modeusing the programmable values from the non-volatile memory 210 and thedefault values for the mode from the flash 206 that are now in theoperating memory 204 at an operation 424. The processor reads that theMRI mode state value is inactive, and the device 102 proceeds in thisdefault mode of stimulation until receiving new programming at a latertime.

If the attempt to copy the default values from the flash memory 206fails due to a flash error, the processor 202 then resorts to copyingdefault values from the ROM 212 at an operation 426 in order to placethe IMD 102 into a bootup mode. This ensures the IMD 102 has the abilityto communicate via the telemetry circuit 208. At the next communicationsession, the processor 202 then sends an error message to the externalprogrammer that requests that the IMD 102 be explanted due to thecorruption of the flash memory 206 at an operation 434.

For the alternative where the normal mode values are stored in thenon-volatile memory 210 and those values are not corrupt at the query414, then those values may also be copied to the operating memory 204 atthe operation 416. The normal mode of stimulation may then proceed atthe operation 408 where the processor reads that the MRI mode state isinactive.

Returning to the query 414, if the processor 202 finds the values in thenon-volatile memory are corrupt, then all values in the operating memory204 are replaced by the processor 202 copying default values from theflash memory 206 including the MRI mode state being inactive at anoperation 428. The IMD 102 then proceeds to operate in the default modeusing the default values for the mode from the flash 206 that are now inthe operating memory 204 at an operation 430, including the processorreading that the MRI mode state value is inactive. The device 102proceeds in this default mode until receiving new programming at a latertime.

If the attempt to copy the default values from the flash memory 206fails due to a flash error, the processor 202 then resorts to copyingdefault values from the ROM 212 at an operation 432 in order to placethe IMD 102 into the bootup mode. At the next communication session, theprocessor 202 then sends an error message to the external programmerthat requests that the IMD 102 be explanted due to the corruption of theflash memory 206 at the operation 434.

Returning to the device reset at the event 412, if the threshold numberof device resets has been reached for a given period of time asdetermined by the processor 202 at the event 436, then the processor 202replaces all of the programmable values in the operating memory 204 fromthe ROM 212 at an operation 438. This places the IMD 102 into the bootupmode. At the next communication session, the processor 202 then sends anerror message to the external programmer that requests that the IMD 102be explanted due to the large number of device resets at the operation434.

Thus far, the operation of the IMD 102 has been described for the MRImode state being inactive in the operating memory 204 and in thenon-volatile memory 210. However, while the IMD 102 is operating in thenormal mode at operation 408 or the default mode at operation 424, aprogramming session may occur to place the IMD 102 into the MRI mode atan event 410. This event 410 transitions the IMD 102 to the set ofoperations 500 of FIG. 5A.

The processor 202 reprograms the operating memory 204 with MRI modevalues and parameter values for the MRI mode received from the externalprogrammer at an operation 502. The processor 202 also sets the MRI modestate value in the operating memory 204 to indicate that the MRI mode isactive. The processor 202 also copies the values from the operatingmemory 204 including the MRI mode values, mode parameter values, and MRImode state to the non-volatile memory 210 at an operation 504.

The processor 202 utilizes these values in the operating memory 204including reading that the MRI mode state value is active to beginimplementing the MRI mode of stimulation at an operation 506. The MRImode continues until a termination occurs at an event 508. Thetermination may result from various events. For example, a programmingsession may be established during the MRI mode where the externalprogrammer instructs the processor 202 to exit the MRI mode. As anotherexample, the MRI mode may have a timeout period that once reachedtriggers the processor 202 to terminate the MRI mode. The event 508transitions the IMD 102 back to the set of operations 400.

However, at any time while the MRI mode is active, a device reset may betriggered at an event 510. For instance, the device reset may betriggered by ambient conditions resulting from being in proximity to anMRI machine. If the number of device resets for a given period of timehas not reached a threshold, then immediately after the device reset theprocessor 202 detects whether the non-volatile memory 210 is corrupt ata query 512. As previously stated, this may be done by performing acyclic redundancy check on the contents of the non-volatile memory 210.

When the non-volatile memory 210 is not corrupted, the processor 202then copies the programmable values stored in the non-volatile memory210 to the operating memory 204 including the MRI mode values, the modeparameter values, and the value indicating that the MRI mode state isactive. The programmable values from the non-volatile memory 210 alsoinclude the values for the more basic functionality of the IMD 102. Forany other values in the operating memory 204 that that were not copiedto the non-volatile memory 210, the processor 202 detects whether thosevalues in the operating memory 204 are corrupt at a query 516.

Where these additional values in the operating memory 204 are notcorrupt, those values are retained in the operating memory 204 at anoperation 520. At this point, the operating memory 204 has all valuesnecessary for returning to the MRI mode of stimulation where theprocessor 202 reads that the MRI mode state value is active at theoperation 506. Thus, the IMD 102 recovers from the device reset byimmediately continuing the MRI mode of therapy based on operating memory204 values without prior post reset implementation of any other mode.

Where these additional values in the operating memory 204 are corrupt,the processor 202 then replaces those values with default values. Inthis example, the processor 202 first attempts to copy those values fromthe flash memory 206 at operation 518. Where that is successful, the IMD102 then proceeds to operate in the MRI mode where the processor 202reads that the MRI mode state value is active at an operation 522. Theprocessor 202 uses the programmable MRI mode values from thenon-volatile memory 210 and any other values needed are default valuesfor the mode from the flash 206 that are now in the operating memory204. The device 102 proceeds in the MRI mode until a termination eventsuch as receiving new programming at a later time or reaching an MRImode timeout. Thus, in this scenario the IMD 102 also recovers from thedevice reset by immediately continuing the MRI mode of therapy based onoperating memory 204 values without prior post reset implementation ofany other mode.

If the attempt to copy the default values from the flash memory 206fails due to a flash error, the processor 202 then resorts to copyingdefault values from the ROM 212 at an operation 524 in order to placethe IMD 102 into the bootup mode. At the next communication session, theprocessor 202 then sends an error message to the external programmerthat requests that the IMD 102 be explanted due to the corruption of theflash memory 206 at an operation 434.

Returning to the query 512, if the processor 202 finds the values in thenon-volatile memory are corrupt, then the IMD 102 transitions back tothe set of operations 400. At operation 428 all values in the operatingmemory 204 are replaced by the processor 202 copying default values fromthe flash memory 206 including the MRI mode state being inactive at anoperation 428. The IMD 102 then proceeds to operate in the default modeusing the default values for the mode from the flash 206 that are now inthe operating memory 204 at an operation 430. The device 102 proceeds inthis default mode until receiving new programming at a later time.

Returning to the device reset at the event 510, if the threshold numberof device resets has been reached for a given period of time asdetermined by the processor 202 at the event 511, then the IMD 102transitions back to the set of operations 400. The processor 202replaces all of the programmable values in the operating memory 204 fromthe ROM 212 at the operation 438.

Returning to the termination of the MRI mode at the event 508, the IMD102 transitions to an operation 440 where the processor 202 sets the MRImode state value to inactive in the operating memory 204. The processor202 also copies the values of the operating memory 204 including the MRImode state to the non-volatile memory 210 at an operation 442. Theprocessor 202 then uses the programmed values for the normal mode thatare present in the operating memory 204 to begin implementing the normalmode of stimulation until receiving further programming at an operation444. In doing so, the processor 202 reads that the MRI mode state valueis inactive.

The IMD 102 may instead implement the alternate logical operations 501of FIG. 5B for the portion of the operations 500 that occur after adevice reset. At an event 526, it is first determined whether the numberof device resets for a given period of time has not reached a threshold.If so, at a threshold event 542, the IMD 102 then transitions back tothe set of operations 400 and specifically to operation 438. If thethreshold has not been reached, then immediately after the device resetthe processor 202 detects whether the values in the operating memory 204are corrupt at a query 528. This may be done by performing a cyclicredundancy check on the contents of the operating memory 204.

When the operating memory 204 is not corrupted, the processor 202 thenretains all values in the operating memory including the MRI modevalues, mode parameter values, and MRI mode state at an operation 530.At this point, the operating memory 204 already has all values necessaryfor returning to the MRI mode of stimulation at the operation 506 ofFIG. 5A.

When the operating memory 204 is corrupted, the processor 202 thendetects whether the non-volatile memory 210 is corrupted at query 532.If so, then the IMD transitions to the set of operations 400 where atoperation 428 all values in the operating memory 204 are replaced by theprocessor 202 copying default values from the flash memory 206 includingthe MRI mode state being inactive at an operation 428. The IMD 102 thenproceeds to operate in the default mode using the default values for themode from the flash 206 that are now in the operating memory 204 at anoperation 430. The device 102 proceeds in this default mode untilreceiving new programming at a later time.

When the non-volatile memory 210 is not corrupted, the processor 202copies the programmable values stored in the non-volatile memory 210 tothe operating memory 204 at an operation 534. These values include theMRI mode values, the mode parameter values, and the value indicatingthat the MRI mode state is active. The programmable values from thenon-volatile memory 210 also include the values for the more basicfunctionality of the IMD 102. For any other values in the operatingmemory 204 that were not copied to the non-volatile memory 210, theprocessor 202 then replaces those values with default values. In thisexample, the processor 202 first attempts to copy those values from theflash memory 206 at operation 536. Where that is successful, the IMD 102then proceeds to operate in the MRI mode where the processor 202 readsthat the MRI mode state value is active at operation 538. The processor202 uses the programmable MRI mode values from the non-volatile memory210 and any other values needed are default values for the mode from theflash 206 that are now in the operating memory 204. The device 102proceeds in the MRI mode until an event 508 occurs to terminate themode, such as receiving new programming at a later time or reaching anMRI mode timeout.

If the attempt to copy the default values from the flash memory 206fails due to a flash error, the processor 202 then resorts to copyingdefault values from the ROM 212 at an operation 540 in order to placethe IMD 102 into the bootup mode. This transitions the IMD 102 back tothe set of operations 400 where the MRI mode state is inactive. At thenext communication session, the processor 202 then sends an errormessage to the external programmer that requests that the IMD 102 beexplanted due to the corruption of the flash memory 206 at the operation434.

While specific examples of the logical operations performed by theprocessor 202 have been described above in relation to FIGS. 4A-5B,these examples are not intended to be limiting. Many variations to theselogical operations are possible and fall within the scope of thisdisclosure. For instance, rather than entering a bootup mode from theROM 212, the ROM may instead provide the same default parameters thatare provided by the flash memory 206. Relying on the defaults from theROM 212 may or may not trigger the explant request, and so forth.

While embodiments have been particularly shown and described, it will beunderstood by those skilled in the art that various other changes in theform and details may be made therein without departing from the spiritand scope of the invention.

What is claimed is:
 1. A method of operating an implantable medical device during a condition that may trigger a device reset, comprising: receiving mode programming at the device that defines a special mode of operation to utilize during the condition and receiving parameter programming that specifies therapy parameters to utilize for the special mode of operation; storing the mode programming and the parameter programming in a non-volatile memory; storing a value in the non-volatile memory indicating whether the special mode is active; upon experiencing a device reset, reading the value that indicates whether the special mode is active; loading the mode programming and parameter programming from the non-volatile memory to an operating memory; and in response to reading the value when the value indicates that the special mode is active, implementing the special mode defined by the mode programming from the operating memory.
 2. The method of claim 1, wherein the device reset terminates a mode of operation occurring prior to the device reset, the method further comprising implementing the special mode defined by the mode programming from the operating memory prior to implementing any other stimulation mode once the device reset has occurred.
 3. The method of claim 1, wherein the implantable medical device includes a field programmable processor and wherein the field programmable processor implements the special mode from the operating memory.
 4. The method of claim 1, wherein the operating memory is volatile.
 5. The method of claim 1, further comprising implementing the special mode from the operating memory prior to the device reset.
 6. The method of claim 5, further comprising detecting after the reset and prior to loading the mode programming whether the operating memory contains valid programming of a mode and when the operating memory contains the valid programming of the mode, not loading mode programming and parameter programming from the non-volatile memory.
 7. The method of claim 1, wherein the condition is an MM scan and wherein the special mode is an MM mode.
 8. An implantable medical system that operates during a condition that may trigger a device reset, comprising: an implantable medical lead having a proximal contact and a distal electrode; and an implantable medical device, comprising: a pulse generator; an electrical connector that is electrically coupled to the pulse generator, the proximal contact being electrically coupled to the electrical connector; an operating memory; a non-volatile memory; a telemetry communication circuit; a processing device in communication with the pulse generator, the operating memory, the non-volatile memory, and the telemetry communication circuit, the processing device being configured to: receive from the telemetry communication circuit mode programming that defines a special mode of electrical stimulation to utilize during the condition and receive parameter programming that specifies stimulation parameters to utilize for the special mode of electrical stimulation; store the mode programming and the parameter programming in the non-volatile memory; store a value in the non-volatile memory indicating whether the special mode is active; upon experiencing a device reset, read the value that indicates whether the special mode is active; load the mode programming and parameter programming from the non-volatile memory to the operating memory; and in response to reading the value when the value indicates that the special mode is active, implement the special mode defined by the mode programming from the operating memory by controlling operation of the pulse generator.
 9. The implantable medical system of claim 8, wherein the device reset terminates a stimulation mode occurring prior to the device reset, and wherein the processing device is further configured to implement the special mode defined by the mode programming from the operating memory prior to implementing any other stimulation mode once the device reset has occurred.
 10. The implantable medical system of claim 8, wherein the processing device comprises a field programmable processor and wherein the field programmable processor implements the special mode from the operating memory.
 11. The implantable medical system of claim 8, wherein the operating memory is volatile.
 12. The implantable medical system of claim 8, wherein the processing device implements the special mode from the operating memory prior to the device reset.
 13. The implantable medical system of claim 12, wherein the processing device is further configured to detect after the device reset and prior to loading the mode programming whether the operating memory contains valid programming of a mode and when the operating memory contains the valid programming of the mode, not loading mode programming and parameter programming from the non-volatile memory. 